<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

</body>

</html>

<script>
    // 题1
    // function fun(getSum){
    //     var newArr = []
    //     var sum = 0
    //     for(var i = 0;i<getSum.length;i++){//去重，判断数据类型是数字
    //         if(typeof getSum[i]=='number'&&newArr.indexOf(getSum[i])==-1){
    //             newArr.push(getSum[i])
    //         }
    //     }
    //     for(var j = 0;j<newArr.length;j++){//求和
    //         sum+=newArr[j]
    //     }
    //     return sum
    // }
    // console.log(fun([undefined,'23year',19,'097',1,'hello',1]))

    //题2
    // function fun(arr){
    //     return arr.reverse()
    // }
    // console.log(fun([undefined,'23year',19,'097',1,'hello',1]))

    // 题3
    // var arr=['顺义','全栈','月','薪','过万']
    // //'-''!''@'    --------     @顺义-全栈月薪过万！
    // console.log(arr.join('-'));
    // console.log(arr.join('!'));
    // console.log(arr.join('@'));

    // 题4
    // function fun(arr){
    //     return arr.join(' ')
    // }
    // console.log(fun(['顺义','全栈','月','薪','过万']));

    // 题5
    // 预解析：根据JavaScript流程控制中顺序流程代码从上到下执行，但是由于JavaScript会将变量名做提升但是变量的值并不会提升所以提升后输出结果就是 undefined
    // console.log(num);
    // var num = 10;

    // 题6
    // fn();  //先调用函数后声明函数，不知道为什么反正控制台能打印出来
    // function fn(){
    //     console.log('今天天气不错');
    // }

    // 题7
    // fn1()   //先调用函数后声明函数，不知道为什么反正控制台能打印出来
    // var fn1=function(){
    //     console.log('今天天气不错');
    // }

    // 题8
    // 这个题这个函数并没有声明所以函数体里面的输出不执行，
    // var a=10///在作用域下声明的这个变量a是一个全局变量
    // function a(){
    //     console.log('想不到吧');
    // }
    // console.log(a);//输出的是全局变量a的结果10
    // a=5  //全局变量从新赋值为5
    // console.log(a);//所以这个输出结果是新值5

    // 题9
    /* 作用域链：由于函数内部可以访问外部的变量，链式查找 */
    // var n=1  //全局变量n 值  1
    // function func(){  //局部作用域
    //     var n=3  //局部变量n 值  3
    //     function bar(){  //
    //         n-- //全局变量往上查找
    //         console.log(n);
    //     }
    //     bar()
    //     console.log(n);//也就是当代码执行到87行时局部变量的值已经变成了2了
    // }
    // func()
    // console.log(n);//输出全局变量n的值

    // 题10
    // function fun(x,arr){
    //    var newArr = []
    // //    for(var i=0;i<arr.length;i++){
    // //     if(arr.indexOf(x)){
    // //         newArr.push(arr[i])
    // //     }
    // //    }

    //     // return 'item在arr中出现的位置对应的索引是：'+
    //     var num = arr.indexOf(x)

    //     return newArr.join()+num
    // }
    // console.log(fun('item',[undefined,'23year',19,'item',1,'hello',1]));

    // 题11
    // var computer = new Object()
    // computer.color = 'red'
    // computer.weight = '2kg'
    // computer.brand = '苹果'
    // computer.type = 'p8'
    // console.log(computer.color);
    // console.log(computer.weight);
    // console.log(computer.brand);
    // console.log(computer.type);
    // computer.watch = function () {
    //     console.log('看电影');
    // }
    // computer.listen = function () {
    //     console.log('听音乐');
    // }
    // computer.play = function () {
    //     console.log('打游戏');
    // }
    // computer.coding = function () {
    //     console.log('敲代码');
    // }
    // computer.watch()
    // computer.listen()
    // computer.play()
    // computer.coding()

    // 题12
    // var firEnd={
    //     username:'黄文波',
    //     age:'27',
    //     height:'175cm',
    //     love:function(){
    //         console.log(this.username+'的年龄是'+this.age);
    //     }
    // }
    // firEnd.love()

    // 题13
    // function Person(name,age){
    //     this.name=name;
    //     this.age=age;
    //     this.play=function(){
    //         console.log('打篮球');
    //     }
    // }
    // var obj=new Person('张三',18)
//    function Add(name){
//     this.name=name
//    }
//    let a1=new Add('张1');
//    let a2=new Add('张2');
//    let a3=new Add('张3');
//    let a4=new Add('张4');
//    let a5=new Add('张5');
//    let a6=new Add('张6');
//    let a7=new Add('张7');
//    let a8=new Add('张8');
//    let a9=new Add('张9');
//    let a10=new Add('张10');
//    console.log(a1.name);
//    console.log(a2.name);
//    console.log(a3.name);
//    console.log(a4.name);
//    console.log(a5.name);
//    console.log(a6.name);
//    console.log(a7.name);
//    console.log(a8.name);
//    console.log(a9.name);
//    console.log(a10.name);

// function getResult(){
//     var num =0   //总和
//     for(var i=0;i<arguments.length;i++){
//         num+=arguments[i]
//         for(var j=0;j<arguments.length;j++){
//             if(arguments[j]>arguments[j+1]){
//                 var x;
//                 x=arguments[j]
//                 arguments[j]=arguments[j+1]
//                 arguments[j+1]=x
//             }
//         }
//     }
//     return {sum:'总和是：'+num,max:'最大值是：'+arguments[arguments.length-1],min:'最小值是：'+arguments[0],averages:'平均值是：'+num/arguments.length}
// }
// console.log(getResult(1,2,3,4,5,6,7,8));
</script>